python中json的基本用法 | 您所在的位置:网站首页 › python os 用法 › python中json的基本用法 |
**1.**JSON简介 json是一种数据格式,也是一种轻量级数据交换格式,是用于数据储存和传输的数据格式,它基于javascript的对象字面量语法,也可以用于其他编程语言。它利用文本格式来支持数据的无损压缩、易于理解和读写、易于解析和生成,因此广泛用于Web应用程序之间的数据交换。JSON由键值对组成,可以嵌套使用,常见的文件扩展名为.json。前端和后端进行数据交互,其实就是JS和Python进行数据交互! **2.**JSON 语法规则 JSON 语法是 JavaScript 对象表示语法的子集。 数据在名称/值对中 数据由逗号 , 分隔 使用斜杆 ** 来转义字符 大括号 {} 保存对象 中括号 [] 保存数组,数组可以包含多个对象**3.**json的两种结构 1.对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个”键”后跟一个冒号 :,名称/值对使用逗号 , 分隔。格式为:{key1 : value1, key2 : value2, ... keyN: valueN} 例如: {“name”:”wz”,”age”:”17”,”博客”:”https://wz-35.github.io/"} 2.数组: 中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。数组可包含多个对象,格式为: 1234567[ { key1 : value1-1 , key2:value1-2 }, { key1 : value2-1 , key2:value2-2 }, { key1 : value3-1 , key2:value3-2 }, ... { key1 : valueN-1 , key2:valuenN-2 }, ]例如: [ {“name”:”wz”,”age”:”17”,”博客”:”https://wz-35.github.io/"} {“name”:”lk”,”age”:”16”,”博客”:”https://wz-35.github.io/"} {“name”:”wy”,”age”:”15”,”博客”:”https://wz-35.github.io/"} ] **4.**JSON数据类型Python 编码为 JSON 类型转换对应表:: PYTHON JSON dict object list, tuple object str, unicode string int, long, float number True true False false None nullJSON 解码为 Python 类型转换对应表: JSON PYTHON object dict array list string str number (int),number (real) int, float true True false False null None5.json的常用方法: 方法 描述 json.dumps() 将 Python 对象编码成 JSON 字符串 json.loads() 将已编码的 JSON 字符串解码为 Python 对象 json.dump() 将Python内置类型序列化为json对象后写入文件 json.load() 读取文件中json形式的字符串元素转化为Python类型总结一下,带s的,都是对都是内存操作,不涉及持久化,不带s的都是对文件的操作。 简单举几个栗子: 1.字典转化为json对象: import json data1={ "name":'wz', "age":17, "aa":'https://wz-35.github.io/' } json_str1=json.dumps(data1) print(json_str1) 输出结果为: {"name": "wz", "age": 18, "aa": "https://wz-35.github.io"} 2.列表转化为json对象: import json data1 = [ 'wz', 17, 'https://wz-35.github.io' ] json_str1 = json.dumps(data1) print(json_str1) 输出结果为: ["wz", 18, "https://wz-35.github.io"] 3.元组转化为json: import json data1 = ( 'wz', 17, 'https://wz-35.github.io' ) json_str1 = json.dumps(data1) print(json_str1) 输出结果为: ["wz", 18, "https://wz-35.github.io"] 4.将json字符串解码成Python对象 : 在上面第一段代码下面加上一段代码变为: import json data1 = { “name”: ‘wz’, “age”: 17, “aa”: ‘https://wz-35.github.io/' } json_str1 = json.dumps(data1) print(json_str1) data2=json.loads(json_str1) print(data2) 就可以把json转化为字典了。输出结果为: {“name”: “wz”, “age”: 17, “aa”: “https://wz-35.github.io/"} {‘name’: ‘wz’, ‘age’: 17, ‘aa’: ‘https://wz-35.github.io/'} 其实json格式和字典很像,其区别为: JSON是一种数据格式,而字典是一种数据结构。JSON格式与字典类似,都是由键值对组成的,但它们有一些不同之处: JSON是一种文本格式,常用于数据交换。而字典是一种内存中的数据结构,常用于编程语言中存储和处理数据。JSON的键必须是字符串类型,值可以是任意类型,包括字符串、数字、布尔值、数组和嵌套的JSON对象。而字典的键可以是任意可哈希类型,值可以是任何类型,包括其他字典。JSON严格要求属性名和字符串值必须用双引号括起来。而Python中的字典没有这样的限制。 总之,JSON和字典都是用来存储和传输数据的工具,但它们的应用场景和特点有所不同。 |
CopyRight 2018-2019 实验室设备网 版权所有 |